package main

import (
	"fmt"
	"io"
	"os"
	"net"
)

func main() {
	conn, err := net.Dial("tcp", "edu.51cto.com:80")
	if err != nil {
		fmt.Println("创建连接ERROR:", err)
		return
	}
	defer conn.Close()
	// 设置请求头
	msg := "GET / HTTP/1.1\r\n"
	msg += "Host:edu.51cto.com\r\n"
	msg += "Connection:close\r\n"
	msg += "\r\n"  // 请求头结束
	_, err = io.WriteString(conn, msg)  // 发送请求
	if err != nil {
		fmt.Println("发送数据ERROR:", err)
		return
	}
	buf := make([]byte, 1024)
	fmt.Println("接收数据...")
	for {
		n, err := conn.Read(buf)
		fmt.Println(string(buf[0:n]))
		if err != nil {
			if err == io.EOF{
				fmt.Println("接收完毕...")
				break
			} else {
				fmt.Println("接收数据ERROR:", err)
				os.Exit(0)
			}
		}
	}
}